package com.rp.data.tcp_ws.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 类说明:
 *
 * @author ****
 * @date 2021-03-12 15:28  新建
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "接收emq网关状态改变", description = "")
public class DevicesReceivesModel{

    @ApiModelProperty(value = "设备id")
    private Integer deviceID;

    @ApiModelProperty(value = "触发时间")
    private Long lastDateTime;

    @ApiModelProperty(value = "网络类型 1是4G 2有线")
    private Integer network;

    @ApiModelProperty(value = "设备类型")
    private String proto;

    @ApiModelProperty(value = "响应 1是 0否")
    private Integer resp;

    @ApiModelProperty(value = "间隔时间")
    private Long sleepTime;

    @ApiModelProperty(value = "设备状态 1在线 0离线")
    private Integer status;

    @ApiModelProperty(value = "报告时间")
    private LocalDateTime reportTime;

    @ApiModelProperty(value = "是否隐藏")
    private Integer isHidden;

    public DevicesReceivesModel(Integer deviceID, Integer status, LocalDateTime reportTime, Integer isHidden) {
        this.deviceID = deviceID;
        this.status = status;
        this.reportTime = reportTime;
        this.isHidden = isHidden;
    }

    public DevicesReceivesModel() {
    }

    public DevicesReceivesModel(Integer deviceID, Long lastDateTime, Integer network, String proto, Integer resp, Long sleepTime, Integer status) {
        this.deviceID = deviceID;
        this.lastDateTime = lastDateTime;
        this.network = network;
        this.proto = proto;
        this.resp = resp;
        this.sleepTime = sleepTime;
        this.status = status;
    }

    public DevicesReceivesModel(Integer deviceID, Long lastDateTime, Integer network, String proto, Integer resp, Long sleepTime, Integer status, LocalDateTime reportTime, Integer isHidden) {
        this.deviceID = deviceID;
        this.lastDateTime = lastDateTime;
        this.network = network;
        this.proto = proto;
        this.resp = resp;
        this.sleepTime = sleepTime;
        this.status = status;
        this.reportTime = reportTime;
        this.isHidden = isHidden;
    }
}
